package com.turing.post.report.util;

import java.math.BigInteger;
import java.util.Date;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 发卡商分支机构/销售机构凭证库存日结表Dao接口
 * 
 * @author yxb
 * 
 */
@Remote
@Local
public interface VoucherStockDaySettlementDao {

	/**
	 * 插入对象
	 * 
	 * @param vsds
	 */
	public void insert(VoucherStockDaySettlement vsds)
			throws PCPSApplicationException;

	/**
	 * 根据主键查找
	 * 
	 * @param vsds
	 * @return
	 */
	public VoucherStockDaySettlement getVoucherStockDaySettlementByKey(
			VoucherStockDaySettlement vsds);

	/**
	 * 删除某发卡商某日某机构所有的凭证日结数据
	 * 
	 * @param branchNo
	 *            机构号
	 * @param tranDate
	 *            帐务日期
	 */
	public void removeAllVoucherStockDaySettlementByTranDate(String branchNo,
			Date tranDate);

	/**
	 * 根据发卡商机构号、日期、凭证种类ID检索小于该日期的最大日期
	 * 
	 * @param branchNo
	 *            机构号
	 * @param tranDate
	 *            帐务日期
	 * @param voucherId
	 *            凭证种类ID
	 * 
	 * @return
	 */
	public Date getMaxTranDate(String branchNo, Date tranDate,
			BigInteger voucherId);
}
